Proportional-Share Scheduling: Implementation and Evaluation in a Widely-Deployed Operating System
نویسندگان
چکیده
This paper explores the feasibility of using lottery scheduling , a proportional-share resource management algorithm, to schedule processes under the FreeBSD operating system. Proportional-share scheduling enables exible control over relative process execution rates and processor load insulation among groups of processes. We show that a straight implementation of lottery scheduling performs worse than the standard FreeBSD scheduler. This initial result prompted us to extend lottery scheduling. Except for one test we run, our resulting system performs within one percent of the FreeBSD scheduler. We describe our design, evaluate our implementation, and relate our experience in deploying our lottery scheduler on production machines. 1 Introduction This paper explores the feasibility of proportional-share resource management in a modern and well-understood operating system. Specically, we employ lottery scheduling Waldspurger & Weihl 1994] to allocate processor time in FreeBSD 2.2.5R. We describe and evaluate our implementation , a hybrid of the FreeBSD scheduler and lottery scheduling, and relate our experiences in using this sched-uler on production machines. To begin, we motivate this paper with a summary of the beneets of proportional-share resource management. Running processes make progress by consuming system resources such as processor cycles, network bandwidth, and storage. Considering processor cycles in particular, mul-tiprogrammed systems allocate xed quanta of processor time to running processes. A CPU scheduling algorithm based on proportional-share scheduling enables exible control over the relative rates processes are allocated processor time quanta. For CPU-bound workloads, such as those found in some scientiic and engineering environments, these rates are equal to the relative rates processes consume CPU. For example, consider two independent CPU-intensive scientiic simulations. These simulations begin running at timestep 0 and output intermediate results at the end of every timestep to be used by a 3-D rendering application. A researcher wants to visualize the results of these timesteps synchronously , but unfortunately the rst simulation requires less computation and thus runs three times faster. Using a proportional-share process scheduler, the researcher can easily adjust the relative execution rates of the simulations so that the second process is chosen to run three times as often.
منابع مشابه
Proportional Share Scheduling of Operating System Services for Real-Time Applications
While there is currently great interest in the problem of providing real-time services in general purpose operating systems, the issue of real-time scheduling of internal operating system activities has received relatively little attention. Without such real-time scheduling, the system is susceptible to conditions such as receive livelock — a situation in which an operating system spends all it...
متن کاملA comparative study of the realization of rate-based computing services in general purpose operating systems
Scheduling architectures that support a rate abstraction are becoming increasingly popular for realizing real-time services in general-purpose operating systems. While many rate-based schemes have been proposed, there has been little discussion of the relative merits of each approach. We study the performance of a set of multimedia applications under three different rate-based scheduling scheme...
متن کاملImplementing Lottery Scheduling: Matching the Specializations in Traditional Schedulers
We describe extensions to lottery scheduling, a proportional-share resource management algorithm, to provide the performance assurances present in traditional nonreal time process schedulers. Lottery scheduling enables flexible control over relative process execution rates with a ticket abstraction and provides load insulation among groups of processes using currencies. We first show that a str...
متن کاملSome Guidelines for Proportional Share CPU Scheduling in General-Purpose Operating Systems
Our premise is that since there already exists a large, mature body of literature on real-time scheduling in general-purpose operating systems, it is time to spend more effort deciding which of these algorithms should be used and when, and less effort on generating new algorithms. In this paper we focus on proportional share schedulers. We introduce the notion of pessimism—the proportion of ove...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997